import { defineStore } from 'pinia'
import qs from 'Qs'
import $axios from '../tools/axios'
import axios from 'axios'
import { ElMessage } from 'element-plus'
export const useRolesStore = defineStore('roles', {
  state: () => {
    return {
      tableData: [],
      formData: {},
      drawerShow: false,
      currentRoles: {},
      drawerTitle: ''
    }
  },
  getters: {},
  actions: {
    // transformRequest(data) {
    //   let ret = ''
    //   for (let it in data) {
    //     ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&'
    //   }
    //   return ret
    // },
    /**
     * 向服务器端传递普通Form格式数据的方法；
     */
    async modSysinfo(sysids) {
      const path = '/r/auth'
      const data = {
        sysids: sysids,
        rid: this.currentRoles.rid + ''
      }
      const { data: res } = await $axios.post(path, data, {
        headers: {
          'Access-Control-Allow-Origin': '*', //解决cors头问题
          'Access-Control-Allow-Credentials': 'true', //解决session问题
          'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' //将表单数据传递转化为form-data类型
        }
        // 自动将params 中的数据转换wield?a=1&b=2,附着在url后提交到服务器
        // params: {
        //   a: 1,
        //   b: 2
        // }
      })
      console.log(res)

      //  path,
      //    {
      //      data: data
      //    },
      //    {
      //      headers: {
      //        'Access-Control-Allow-Origin': '*', //解决cors头问题
      //        'Access-Control-Allow-Credentials': 'true', //解决session问题
      //        'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' //将表单数据传递转化为form-data类型
      //      },
      //      withCredentials: true
      //    }

      // axios({
      //   url: 'http://127.0.0.1:18080' + path,
      //   method: 'post',
      //   data: data,
      //   transformRequest: [
      //     function (data) {
      //       let ret = ''
      //       for (let it in data) {
      //         ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&'
      //       }
      //       return ret
      //     }
      //   ],
      //   headers: {
      //     // 改变默认的提交
      //     'Content-Type': 'application/x-www-form-urlencoded'
      //   }
      // })
      //   .then((result) => {
      //     if (result.data && result.data.code === 200) {
      //       console.log('Ok')
      //     }
      //   })
      //   .catch((err) => {
      //     console.log(err)
      //   })

      // const { data: res } = await $axios.post(path, this.transformRequest(data))
      // console.log(res)
    },
    preInfo4Drawer(row) {
      this.currentRoles = JSON.parse(JSON.stringify(row))
      this.drawerTitle = '维护角色：  ' + this.currentRoles.rnm + ' ' + '的权限'
      this.drawerShow = true
    },
    async modRoles() {
      const path = '/r/mod'
      const { data: res } = await $axios.post(path, this.formData)

      if (res.code !== 200) {
        ElMessage.error('Oops, this is a error message.')
        this.loadAll()
      }
    },
    /**
     * 无条件加载所有的角色信息
     */
    async loadAll() {
      const path = '/r/q/all'
      const { data: res } = await $axios.get(path)
      if (res.code === 200) {
        this.tableData = res.data
      }
    }
  }
})
